package com.basemodel;

/**
 * 业务异常编码定义
 * @Author rangaopan
 * @Description //TODO 
 * @Date 下午6:52 
 * @Param
 * @return
 **/
public enum ErrorCode {

    SUCCESS(0),                                  //成功
    FAIL(999),                                   //基础字段校验失败
    NEEDLOGIN(1000),                             //需要登录

    SYSTEM_LEVEL_ERROR(1),                       //系统级错误
    NO_PERMISSION(1001),                             //没权限
    SIGNATURE_ERROR(2),                       // 签名错误
    SERVER_INTERNAL_ERROR(3),                 // 服务器内部错误
    NEED_TO_REDIRECT(4),                        //需要重定向到指定站点
    PARAM_ERROR(5),                             //参数错误
    GRAY_PROJECT_ITEM_FILE_ERROR(5001),         // 灰度配置文件存在问题,如重复名单项等
    BEIAN_RECORD_FILE_ERROR(5003),         // 备案导入数据校验不通过
    GRAY_PROJECT_ITEM_FILE_ERROR_DELETE(5002),  // 批量删除灰度项目中的灰度项目存在问题,如重复名单项等
    DATA_EXIST(10),                         //数据已存在
    DATA_NOT_EXIST(11),                    //数据不存在
    DATA_ANALYZE_FAILED(12),                //数据解析或反序列化失败
    DATA_CONFLICT(13),                      //数据冲突

    BROADCASTRULE_IS_NULL(27),
    BROADCASTEXTRULE_IS_NULL(28),
    BROADCASTEXTEXEMPT_IS_NULL(29),

    PERMISSIONRULE_IS_NULL(30),
    PERMISSIONEXTRULE_IS_NULL(31),
    PERMISSIONEXTEXEMPT_IS_NULL(32),

    EXECUTE_SQL_ZK_ERROR(33),

    // 商业化换包手动传包
    NO_ONLINE_MAIN_PACKAGE(20001),        // 无主包在架
    PARSE_APK_ERROR(20002),               // 解析APK失败
    NDK_LIBRARIES_NOT_MATCH(20003),       // 上传APK的CPU架构与上传位置不匹配
    VERSION_CODE_NOT_MATCH(20004),        // 上传APK的版本号与主包不一致
    RELEASE_KEY_HASH_NOT_MATCH(20005),    // 上传APK的签名与主包不一致
    PACKAGE_NAME_NOT_MATCH(20006),        // 上传APK的包名与主包不一致
    UNKNOWN_CPU_TYPE(20007),              // 未知的CPU类型
    SAME_APK_HASH(20008),                 // 渠道包的apkHash与主包相同
    SAME_APK_CHANNEL(20009),              // 当前同包名、同版本的应用已在流程中，无法重复提交

    UnknowError(9999);
    private final int code;

    ErrorCode(int code) {
        this.code = code;
    }

    public int getCode() {
        return code;
    }
}